package com.tv.cms.payorderinfo.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tv.cms.base.model.BaseModel;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * TODO
 *
 * @author
 * @date
 **/
@Data
@TableName
public class PayOrderInfo extends BaseModel {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 运营商id
     */
    private Integer operatorId;
    /**
     * 支付渠道(0.线下支付，1支付宝，2微信支付)
     */
    private Integer channels;
    /**
     * (0：默认初始值，1支付失败，2退款失败，3申请退款，4退款成功)
     */
    private Integer detailState;
    private String balance;
    /**
     * 交易金额
     */
    private String money;
    /**
     * 消费类型(1.app充值;2.后台充值;3.购买商品)
     */
    private Integer serviceType;
    /**
     * 退款金额
     */
    private String refundMoney;
    /**
     * 菊水订单号
     */
    private String orderNo;
    /**
     * 第三方微信、支付宝订单号
     */
    private String payOrderNo;
    /**
     * 订单支付时间
     */
    private Date payTime;
    /**
     * 退款时间
     */
    private Date refundTime;
    /**
     * 商品id
     */
    private Integer goodsId;
    /**
     * 商品数量
     */
    private Integer goodsNum;
    /**
     * 操作IP
     */
    private String operateIp;
    /**
     * 订单来源
     */
    private String source;
    /**
     * 购买授权码id集合
     */
    private String authCodeIds;
    private String mac;
    private String sn;
    /**
     * 备注
     */
    private String comment;

    @TableField(exist = false)
    private String operatorName;
    @TableField(exist = false)
    private Integer days;
    @TableField(exist = false)
    private String goodsName;
    @TableField(exist = false)
    private List<Integer> serviceTypes;
    @TableField(exist = false)
    private Integer deviceStatus;
    @TableField(exist = false)
    private Integer deviceId;
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date activityTime;
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expDate;

    private String remark;
}
